home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.2 Development Libraries / SGI IRIX 6.2 Development Libraries.iso / dist / complib.idb / usr / share / catman / p_man / cat3 / complib / cgerqf.z / cgerqf
Text File  |  1996-03-14  |  3KB  |  133 lines

  1.  
  2.  
  3.  
  4. CCCCGGGGEEEERRRRQQQQFFFF((((3333FFFF))))                                                          CCCCGGGGEEEERRRRQQQQFFFF((((3333FFFF))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      CGERQF - compute an RQ factorization of a complex M-by-N matrix A
  10.  
  11. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  12.      SUBROUTINE CGERQF( M, N, A, LDA, TAU, WORK, LWORK, INFO )
  13.  
  14.          INTEGER        INFO, LDA, LWORK, M, N
  15.  
  16.          COMPLEX        A( LDA, * ), TAU( * ), WORK( LWORK )
  17.  
  18. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  19.      CGERQF computes an RQ factorization of a complex M-by-N matrix A:  A = R
  20.      * Q.
  21.  
  22.  
  23. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  24.      M       (input) INTEGER
  25.              The number of rows of the matrix A.  M >= 0.
  26.  
  27.      N       (input) INTEGER
  28.              The number of columns of the matrix A.  N >= 0.
  29.  
  30.      A       (input/output) COMPLEX array, dimension (LDA,N)
  31.              On entry, the M-by-N matrix A.  On exit, if m <= n, the upper
  32.              triangle of the subarray A(1:m,n-m+1:n) contains the M-by-M upper
  33.              triangular matrix R; if m >= n, the elements on and above the
  34.              (m-n)-th subdiagonal contain the M-by-N upper trapezoidal matrix
  35.              R; the remaining elements, with the array TAU, represent the
  36.              unitary matrix Q as a product of min(m,n) elementary reflectors
  37.              (see Further Details).  LDA     (input) INTEGER The leading
  38.              dimension of the array A.  LDA >= max(1,M).
  39.  
  40.      TAU     (output) COMPLEX array, dimension (min(M,N))
  41.              The scalar factors of the elementary reflectors (see Further
  42.              Details).
  43.  
  44.      WORK    (workspace/output) COMPLEX array, dimension (LWORK)
  45.              On exit, if INFO = 0, WORK(1) returns the optimal LWORK.
  46.  
  47.      LWORK   (input) INTEGER
  48.              The dimension of the array WORK.  LWORK >= max(1,M).  For optimum
  49.              performance LWORK >= M*NB, where NB is the optimal blocksize.
  50.  
  51.      INFO    (output) INTEGER
  52.              = 0:  successful exit
  53.              < 0:  if INFO = -i, the i-th argument had an illegal value
  54.  
  55. FFFFUUUURRRRTTTTHHHHEEEERRRR DDDDEEEETTTTAAAAIIIILLLLSSSS
  56.      The matrix Q is represented as a product of elementary reflectors
  57.  
  58.         Q = H(1)' H(2)' . . . H(k)', where k = min(m,n).
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. CCCCGGGGEEEERRRRQQQQFFFF((((3333FFFF))))                                                          CCCCGGGGEEEERRRRQQQQFFFF((((3333FFFF))))
  71.  
  72.  
  73.  
  74.      Each H(i) has the form
  75.  
  76.         H(i) = I - tau * v * v'
  77.  
  78.      where tau is a complex scalar, and v is a complex vector with v(n-
  79.      k+i+1:n) = 0 and v(n-k+i) = 1; conjg(v(1:n-k+i-1)) is stored on exit in
  80.      A(m-k+i,1:n-k+i-1), and tau in TAU(i).
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.